Method and system for adaptive channel estimation techniques

ABSTRACT

The invention provides a method of determining an adaptive channel estimation by providing a channel estimate, determining at least one channel condition, and determining an adapted channel estimate as a function of the channel estimate and the channel condition.

FIELD OF THE INVENTION

[0001] In general, the invention relates to wireless communication systems. More specifically, the invention relates to cellular communications and in particular, to a method and system for channel estimation within cellular communications.

BACKGROUND OF THE INVENTION

[0002] For optimal reception of a digital signal over a broadband cellular channel, the channel to a desired transmitter must be determined. Because channels can consist of a number of multipath components or rays each with its own time of arrival and Doppler frequency, a channel estimator should determine the actual time of arrivals (TOA's), Doppler frequencies, and their corresponding complex gains. The channel estimator should also adapt to many different transmitting environments where there are a very large number of rays with a TOA spread and a Doppler frequency spread. A maximum likelihood (ML) channel estimation approach as is known in the art, may provide the best TOA and Doppler frequency estimates, however it lacks a closed form solution.

[0003] Prior art TOA estimators such as a TOA estimation using ESPRIT, are not robust to channel conditions with a large number of rays with a TOA spread and are not suitable for multi-user channel estimation. Other channel estimators may assume a worst-case channel and thus need to estimate many more parameters than is necessary under typical channel conditions.

[0004] Thus, there is a significant need for a method and device for improving multi-user channel estimation techniques that overcome the above disadvantages and shortcomings, as well as other disadvantages.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005]FIG. 1 is an overview diagram of a preferred embodiment for a cellular communication system in accordance with the present invention;

[0006]FIG. 2 is a block diagram illustration of a communication device for the cellular communication system in FIG. 1, in accordance with the present invention;

[0007]FIG. 3 is a block diagram illustrating details of a channel estimation device for the communication device of FIG. 2, in accordance with the present invention;

[0008]FIG. 4 is a flow chart representation of a method performed by one embodiment of the Channel Estimation Device of FIG. 3, in accordance with the present invention;

[0009]FIG. 5 is a flow chart representation of a method performed by a second embodiment of the Channel Estimation Device of FIG. 3, in accordance with the present invention;

[0010]FIG. 6 is a flow chart representation of a method performed by a third embodiment of the Channel Estimation Device of FIG. 3, in accordance with the present invention; and

[0011]FIG. 7 is a flow chart representation of a method performed by a fourth embodiment of the Channel Estimation Device of FIG. 3, in accordance with the present invention.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

[0012]FIG. 1 illustrates a wireless communication system 100 in accordance with one embodiment of the present invention. As shown in FIG. 1, a base station 110 provides communication service to a geographic region known as a cell 103. At least one user device 120 and 130 communicate with the base station 110.

[0013] As shown in FIG. 1, user devices 120 have a single antenna 101, while user devices 130 have at least one antenna 101. One embodiment of the invention provides that the user devices 120 and 130, as well as the base station 110 may transmit, receive, or both from the at least one antenna 101. An example of this would be a typical cellular telephone. Additionally, one embodiment of the invention may provide that the communication system 100 uses techniques such as orthogonal frequency division multiplexing (OFDM). Furthermore, one embodiment may provide that alternative transmitters and receivers known in the art may be used and user devices as well as base stations may be interchanged and referred to commonly as communication devices, transmitting units, receiving units, transmitters, receivers, transceivers, cell phones, or any like term known in the art.

[0014] Illustrated in FIG. 2 is a block diagram for one embodiment of a communication device 200 that may be used within the wireless communication system. The communication device 200 may include at least one antenna 101 wherein the outputs of the antenna may be provided to a receiving unit 201. The outputs of the receiving unit 201 may be provided to at least one antenna combiner 202. The antenna combiner 202 may process multiple signals into one signal. The signals from the receiving units 201 may also be fed into a combiner controller 210, which can regulate the operation of the at least one antenna combiner 202. The signals from the receiving units 201 may also be fed into a channel estimation device 208. A pilot symbol generator 212 capable of generating pilot symbol information may be used by the combiner controller 210 to control the antenna combiner 202. The pilot symbol information generated by the pilot symbol generator 212 can also be used by the channel estimation device 208 to estimate the channel responses between a transmitting device and the communication device 200. The output of the antenna combiner 202 may be fed into an information decoding unit 206, which can decode an antenna combiner output 204 and generate data information 213 that was received by the antennas 101.

[0015] A channel estimation device 300 suitable for use in one embodiment of the communication device is illustrated within FIG. 3. One embodiment of the channel estimation device 300 may include a received training memory unit 310, capable of storing output signals from a receiving unit. A microprocessor 340 may collect the pilot sequence information from a pilot sequence input 350 and may receive inputs from a TOA matrices memory unit 320. The received data stored in the received training memory unit 310, and the inputs from the microprocessor 340 may be fed into a matrix multiplier 330 where they are multiplied. The result can be used in iteration calculations to compute a channel estimate in one embodiment of the invention. In another embodiment of the invention, the TOA matrices memory unit 320, the matrix multiplier 330, and the microprocessor 340 may be implemented in a processor 380. Additionally, an embodiment of the invention may provide the microprocessor 340 to make use of a Fast Fourier Transform device 390 to efficiently implement the channel estimation algorithms of the invention.

[0016]FIG. 4 is an illustration of a block diagram for a frequency-domain multi-user channel estimation method 400 in accordance with the invention. In order to describe the method of frequency-domain multi-user channel estimation 400, multi-user channel estimation based on time of arrivals (TOAs) for multi-path components of a transmitted signal will first be described.

[0017] Using prior art TOA estimators such as estimation of signal parameters via rotational invariance techniques (ESPRIT), TOA's for use in OFDM channel estimation may be found; however, ESPRIT fails when there are many multipath arrival times, or when the communication system is multi-user. In addition, ESPRIT is not an optimal TOA estimator since it is not a maximum likelihood (ML) estimator. The performance of ESPRIT may also suffer when the pilot symbols are not constant modulus. This can occur when the received signals need to be divided by the pilot symbols, which can result in an emphasis on subcarriers where the pilot is weaker in power.

[0018] In one embodiment of the invention, a near-ML technique for multiple sinusoidal estimation may be extended to a multiple user TOA/channel estimation in OFDM or for any frequency-domain channel. The received OFDM signal in the frequency-domain may be given as: $\begin{matrix} {{\left( {M \times 1} \right){Y(k)}} = {{\sum\limits_{u = 1}^{U}\quad {{H_{u}(k)}{x_{u}(k)}}} + {N(k)}}} & (1) \end{matrix}$

[0019] where M is the number of receive antennas, U is the number of users or transmitters, H_(u)(k) (an M×1 vector) is user u's channel on subcarrier k, x_(u)(k) is user u's symbol on subcarrier k, and N(k) is a vector of additive noise that may have covariance matrix σ_(n) ²I where σ_(n) ² is the noise power. The dependence on time (or baud number) has been removed to simplify the detailed description. User u's channel on antenna m may be modeled by the equation:

H _(m,u)(k)=f _(u) ^(H)(k)γ_(m,u)  (2)

[0020] where the P_(u)×1 vector, γ_(m,u), is user u's channel gains on antenna m, P_(u) is the number of distinct TOA estimates for user u, and the P_(u)×1 vector f_(u)(k) may be represented by the equation: $\begin{matrix} {{f_{u}(k)} = \begin{bmatrix} ^{j\quad t_{u\quad l}k} \\ \vdots \\ ^{j\quad t_{u,{P\quad u}}k} \end{bmatrix}} & (3) \end{matrix}$

[0021] In equation (3), t_(u,l) is the scaled TOA (i.e., not the actual TOA) for user u and path l (l=1, . . . , P_(u)). The true TOA's can be recovered by multiplying t_(u,l) by K/(2πW) where W is the bandwidth of the K subcarriers.

[0022] For one embodiment of the invention, equation (2) is essentially a sum of weighted sinusoids. The sinusoidal frequencies of equation (2) (which correspond to the TOA's) and their relative gains need to be determined to establish the channel estimation. Also, the TOA's corresponding to a single user may be assumed to be the same across the receive antennas. If hardware implementations cause the synchronization to be different on each receive antenna or cause the delay to be different due to filtering effects, then the TOA estimator may need to be run separately on each receive antenna.

[0023] Stacking the received frequency-domain signal on antenna m across K subcarriers may be expressed as: $\begin{matrix} {{\left( {K \times 1} \right)Y_{m}} = {\begin{bmatrix} {Y_{m}(0)} \\ \vdots \\ {Y_{m}\left( {K - 1} \right)} \end{bmatrix} = {{\sum\limits_{u = 1}^{U}\quad {X_{u}F_{u}\gamma_{m,u}}} + N_{m}}}} & (4) \end{matrix}$

[0024] where K×K X_(u) and K×P_(u) F_(u) are: $\begin{matrix} {X_{u} = {{{diag}\left\{ {{x_{u}(0)},\ldots \quad,{x_{u}\left( {K - 1} \right)}} \right\} \quad {and}\quad F_{u}} = {\begin{bmatrix} {f_{u}^{H}(0)} \\ \vdots \\ {f_{u}^{H}\left( {K - 1} \right)} \end{bmatrix}.}}} & (5) \end{matrix}$

[0025] Within another embodiment of the invention, the goal of channel estimation may be to find for each user the number of TOA's, P_(u), the TOA's themselves, t_(u,l), and their gain values, γ_(m,l). A multi-dimensional search over all of these unknown parameters to find the best fit according to (4) may be a prohibitively complex task. Therefore the problem can be separated into two more tractable problems where the gains can be eliminated from the estimation problem and then a search can be performed just over the number of TOA's and the TOA's themselves. To determine the gains, a Least Squares (LS) approach may be taken with a weighting, α, placed on the magnitudes of γ_(m,l) so that the inverse in the following equation (7) is not ill conditioned. For the following equation (6), when α=0 the solution is the ML estimator. The previously described parameters may be found as the solution to the equation: $\begin{matrix} {t_{l},\overset{\min}{P_{u}},{{\gamma_{m,u}{\sum\limits_{m = 1}^{M}\quad {{Y_{m} - {\sum\limits_{u = 1}^{U}\quad {X_{u}F_{u}\gamma_{m,u}}}}}^{2}}} + {\alpha \quad {\sum\limits_{m = 1}^{M}\quad {\sum\limits_{u = 1}^{U}\quad {\gamma_{m,u}^{H}\gamma_{m,u}}}}}}} & (6) \end{matrix}$

[0026] The solution of (6) for the magnitude vectors, γ_(m,l), given the TOA estimates can be shown to be: $\begin{matrix} {{\left( {P \times 1} \right)\gamma_{m}} = {\begin{bmatrix} \gamma_{m,l} \\ \vdots \\ \gamma_{m,U} \end{bmatrix} = {R^{- 1}H_{m}}}} & (7) \end{matrix}$

$\begin{matrix} {\quad {{{{where}\quad P} = {\sum\limits_{u = 1}^{U}P_{u}}},{{and}\quad P \times P\quad R\quad {and}\quad P \times 1\quad H_{m}\quad {are}\quad {given}\quad {as}\text{:}}}} & \quad \\ {R = {{\begin{bmatrix} R_{1,1} & \cdots & R_{1,U} \\ \vdots & ⋰ & \vdots \\ R_{1,U}^{H} & \cdots & R_{U,U} \end{bmatrix}\quad {and}\quad H_{m}} = \begin{bmatrix} {F_{1}^{H}X_{1}^{H}Y_{m}} \\ \vdots \\ {F_{U}^{H}X_{U}^{H}Y_{m}} \end{bmatrix}}} & (8) \end{matrix}$

[0027] and P_(u)×P_(v)R_(u,v) is given as:

R _(u,v) =F _(u) ^(H) X _(u) ^(H) X _(v) F _(v)+αδ(u−v)I _(P) _(u) _(×P) _(v)   (9)

[0028] where I_(n×m) is an n×m matrix of all zeros except the upper left min(n,m)×min(n,m) corner which is an identity matrix of size min(n,m)×min(n,m) and δ(n)=1 when n=0 and δ(n)=0 when n≠0.

[0029] The mean squared error of the channel estimator can be shown to be: $\begin{matrix} {E = {\sum\limits_{m = 1}^{M}\left| Y_{m} \middle| {}_{2}{- {\sum\limits_{m = 1}^{M}{H_{m}^{H}R^{- 1}H_{m}}}} \right.}} & (10) \end{matrix}$

[0030] The error does not depend on γ_(m,l) and thus the TOA's can be searched independently of the gain values. This leads to the near-ML TOA search described below. At each step in the algorithm, a two-dimensional search may be performed to find an additional TOA and the user to which it belongs so that the MSE in equation (10) can be minimized. Because only a single TOA is added during an iteration of equation (10), R⁻¹ may be updated at each step by using the rank one inverse update formula (the rank one inverse update formula is known in the art). By only adding a single user's TOA at each step, the algorithm can accommodate the case of each user having a different number of TOA's.

[0031] The following is the near-ML multi-user TOA search, and [] is used to represent an empty matrix. First, let K×1 G_(u,m) and K×1 z_(u)(t) be: $\begin{matrix} {{G_{u,m} = {{X_{u}^{H}Y_{m}\quad {and}\quad {z_{u}(t)}} = \begin{bmatrix} 1 \\ ^{- {j1}} \\ \vdots \\ ^{{- {j{({K - 1})}}}i} \end{bmatrix}}}{{1.\quad E_{0}} = {\sum\limits_{m = 1}^{M}\left| Y_{m} \right|^{2}}},{l = 0},{R_{0}^{- 1} = {\lbrack\rbrack}},{r_{0} = {\lbrack\rbrack}},{F_{0} = {\lbrack\rbrack}},{H_{0} = {\lbrack\rbrack}},{\quad{{q_{0} = {\lbrack\rbrack}},{{{and}\quad d_{u}} = {\left. {\alpha + \sum\limits_{l = 0}^{K - 1}} \middle| {x_{u}(k)} \middle| {}_{2}\quad {{for}\quad u} \right. = 1}},\ldots \quad,{{{U.\text{}2.}\quad l} = {l + 1}},{{\left( {l - 1} \right) \times 1r_{l}} = {F_{l - 1}^{H}X_{u_{l}}{z_{u_{l}}\left( t_{l} \right)}}},{E_{l} = {E_{l - 1} - \frac{\sum\limits_{m = 1}^{M}{q_{l,m}^{H}q_{l,m}}}{d_{u_{l}} - {r_{l}^{H}R_{l - 1}^{- 1}r_{l}}}}}}}} & (11) \end{matrix}$

[0032] where ${\left( {l \times 1} \right)q_{l,m}} = {\begin{bmatrix} {{- H_{m,{l - 1}}^{H}}R_{l - 1}^{- 1}r_{l}} \\ {G_{u,m}^{H}{z_{u_{l}}\left( t_{l} \right)}} \end{bmatrix}.}$

[0033] Perform a two dimensional search over t_(l) and u_(l) (u_(l) is which user's TOA minimizes E_(l)) and find the t_(l) and u_(l) to minimize E_(l) and then update: ${{\left( {l \times 1} \right)H_{m,l}} = \begin{bmatrix} H_{m,{l - 1}} \\ {{z_{u_{l}}^{H}\left( t_{l} \right)}G_{u_{l},m}} \end{bmatrix}},{F_{l} = \left\lbrack F_{l - 1} \middle| {X_{u}{z_{u_{t}}\left( t_{l} \right)}} \right\rbrack},{and}$ $R_{l}^{- 1} = {\begin{bmatrix} R_{l - 1}^{- 1} & 0 \\ 0^{T} & 0 \end{bmatrix} + {\frac{\begin{bmatrix} {{- R_{l - 1}^{- 1}}r_{l}} \\ 1 \end{bmatrix}\left\lbrack \begin{matrix} {{- r_{l}^{H}}R_{l - 1}^{- 1}} & \left. 1 \right\rbrack \end{matrix} \right.}{d_{u_{l}} - {r_{l}^{H}R_{l - 1}^{- 1}r_{l}}}.}}$

[0034] 3. If stop criteria as described below is not reached then go back to step 2.

[0035] 4. The total number of TOA's, P, is l, the TOA's are t₁ through t_(l), and the users associated with each TOA are u₁ through u_(l). For one embodiment of the invention, the search over TOA's, t_(l), performed in step 2 may be done over some finite set of times from t_(min) to t_(max). Since there are a finite number of TOA's to search over, r_(l) and G_(u,m) ^(H)z_(u) _(l) (t_(l)) can be pre-computed.

[0036] In one embodiment of the invention, the stopping criteria may be to stop when the error at step l, E_(l), is close to the noise floor. This embodiment of course, requires an estimate of the noise power. Another embodiment of the invention may define the stopping criteria as “stop if the value of the Peak to Average Power Ratio (PAPR) of the error update at step l versus all of the TOA's being searched is less than some predetermined threshold”. The error update at step l may be expressed as the equation $e_{l} = {\frac{\sum\limits_{m = 1}^{M}\quad {q_{l,m}^{H}q_{l,m}}}{d_{u_{l}} - {r_{l}^{H}R_{l - 1}^{- 1}r_{l}}}.}$

[0037] An example of a preferred embodiment may set the predetermined threshold to five. The PAPR stop criteria can provide a value for σ_(n) ² by dividing E_(l) by MK. An example of this is the mean squared error averaged over all M antennas and all K subcarriers. Additionally, once the TOA's are found, the channel gains, γ_(m), can be found using equation (7).

[0038] One embodiment of the invention may extend the previous algorithm to both TOA and Doppler frequency estimation. The received OFDM signal in the frequency-domain may be expressed as the equation: $\begin{matrix} {{\left( {M \times 1} \right){Y\left( {k,b} \right)}} = {{\sum\limits_{u = 1}^{U}\quad {{H_{u}\left( {k,b} \right)}{x_{u}\left( {k,b} \right)}}} + {N\left( {k,b} \right)}}} & (12) \end{matrix}$

[0039] where M is the number of receive antennas, U is the number of users or transmitters, H_(u)(k,b) is user u's channel on subcarrier k on baud number b, x_(u)(k,b) is user u's symbol on subcarrier k and baud b, and N(k,b) is a vector of additive noise with covariance matrix σ_(n) ²I. User u's channel on antenna m may be modeled by the equation:

H _(m,u)(k,b)=f _(u) ^(H)(k,b)γ_(m,u)  (13)

[0040] where P_(u)×1 γ_(m,u) is user u's channel gains on antenna m, P_(u) is the number of TOA and Doppler frequency estimates for user u, and P_(u)×1 f_(u)(k,b) may be expressed as: $\begin{matrix} {{f_{u}\left( {k,b} \right)} = \begin{bmatrix} ^{j{({{t_{u1}k} - {f_{u1}b}})}} \\ \vdots \\ ^{j{({{t_{{uP}_{u}}k} - {f_{{uP}_{u}}b}})}} \end{bmatrix}} & (14) \end{matrix}$

[0041] where t_(u,l) and f_(u,l) in (14) are the scaled TOA and Doppler frequency respectively, for user u and path l (1≦l≦P_(u)). Within one embodiment of the invention, the true TOA's can be recovered by multiplying t_(u,l) by K/(2πW) where W is the bandwidth of the K subcarriers. Additionally, the true Doppler frequencies can be recovered by dividing f_(u,l) by 2πΔN_(s) where Δ is the time between OFDM time-domain samples and N_(s) is the number of time samples between two adjacent OFDM bauds such as the number of samples between bauds b and b+1.

[0042] For a fixed b, equation (13) is essentially a sum of weighted sinusoids just like the TOA-only embodiment. For channel estimation within another embodiment, the sinusoidal frequencies across frequency (these correspond to the TOA's), the sinusoidal frequencies across time (these correspond to the Doppler frequencies), and their relative gains may need to be determined. Further, the TOA's and Doppler frequencies may be assumed to be the same across the receive antennas for a single user. If hardware implementations cause the synchronization to be different on each receive antenna, cause the delay to be different due to filtering effects, or cause the frequency offsets to be different, then the TOA/Doppler frequency estimator may need to be run separately on each receive antenna.

[0043] Another embodiment of the invention may assume that there are B bauds containing all known pilots on all K subcarriers. The extension to arbitrary pilot formats is straightforward to anyone trained in the art. Stacking the received frequency-domain signal on antenna m across K subcarriers and B pilot bauds gives the following equation: $\begin{matrix} {{\left( {{KB} \times 1} \right)Y_{m}} = {\begin{bmatrix} {Y_{m}\left( {0,0} \right)} \\ \vdots \\ {Y_{m}\left( {{K - 1},0} \right)} \\ {Y_{m}\left( {0,1} \right)} \\ \vdots \\ {Y_{m}\left( {{K - 1},{B - 1}} \right)} \end{bmatrix} = {{\sum\limits_{u = 1}^{U}{X_{u}F_{u}\gamma_{m,u}}} + N_{m}}}} & (15) \end{matrix}$

[0044] where BK×BK X_(u) and BK×P_(u) F_(u) are: $\begin{matrix} {{X_{u} = {{diag}\left\{ {{x_{u}\left( {0,0} \right)},\quad \ldots \quad,{x_{u}\left( {{K - 1},0} \right)},{x_{u}\left( {0,1} \right)},\quad \ldots \quad,{x_{u}\left( {{K - 1},{B - 1}} \right)}} \right\}}}{{{and}\quad F_{u}} = \begin{bmatrix} {f_{u}^{H}\left( {0,0} \right)} \\ \vdots \\ {f_{u}^{H}\left( {{K - 1},0} \right)} \\ {f_{u}^{H}\left( {0,1} \right)} \\ \vdots \\ {f_{u}^{H}\left( {{K - 1},{B - 1}} \right)} \end{bmatrix}}} & (16) \end{matrix}$

[0045] For one embodiment of the invention, the goal of channel estimation may be to find for each user the number of TOA's/Doppler frequencies, P_(u), the TOA's and Doppler frequencies themselves, t_(u,l) and f_(u,l), and their gain values, γ_(m,l). To determine the gains, a Least Squares (LS) approach may be taken with a weighting, α, placed on the magnitudes of γ_(m,l) so that the inverse in the following equation (18) is not ill conditioned. It is obvious that when α=0 the solution to the following equation (17) is the ML estimator. The parameters are found as the solution to: $\begin{matrix} \left. {\begin{matrix} \min \\ {t_{l},f_{l},P_{u},\gamma_{m,u}} \end{matrix}\sum\limits_{m = 1}^{M}} \middle| {Y_{m} - {\sum\limits_{u = 1}^{U}{X_{u}F_{u}\gamma_{m,u}}}} \middle| {}_{2}{{+ \alpha}{\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{U}{\gamma_{m,u}^{H}\gamma_{m,u}}}}} \right. & (17) \end{matrix}$

[0046] The solution of equation (17) for the magnitude vectors, γ_(m,l), given the TOA and Doppler frequency estimates can be shown to be: $\begin{matrix} {{\left( {P \times 1} \right)\gamma_{m}} = {\begin{bmatrix} \gamma_{m,1} \\ \vdots \\ \gamma_{m,U} \end{bmatrix} = {R^{- 1}H_{m}}}} & (18) \end{matrix}$

[0047] where ${P = {\sum\limits_{u = 1}^{U}P_{u}}},$

[0048] and P×P R and P×1 H_(m) are given as: $\begin{matrix} {R = {{\begin{bmatrix} R_{1,1} & \ldots & R_{1,U} \\ \vdots & ⋰ & \vdots \\ R_{1,U}^{H} & \cdots & R_{U,U} \end{bmatrix}\quad {and}\quad H_{m}} = \begin{bmatrix} {F_{1}^{H}X_{1}^{H}Y_{m}} \\ \vdots \\ {F_{U}^{H}X_{U}^{H}Y_{m}} \end{bmatrix}}} & (19) \end{matrix}$

[0049] and P_(u)×P_(v) R_(u,v) is given as:

R _(u,v) =F _(u) ^(H) X _(u) ^(H) X _(v) F _(v)+αδ(u−v)I _(P) _(u)   (20)

[0050] The mean squared error (MSE) of the channel estimator can be shown to be: $\begin{matrix} {E = {{\sum\limits_{m = 1}^{M}\quad {Y_{m}}^{2}} - {\sum\limits_{m = 1}^{M}{H_{m}^{H}R^{- 1}H_{m}}}}} & (21) \end{matrix}$

[0051] In one embodiment of the invention, the error may not depend on γ_(m,l) and thus the TOA's and Doppler frequencies can be searched independently of the gain values. This leads to a near-ML TOA/Doppler frequency search. At each step in the algorithm, a three-dimensional search may be performed to find an additional TOA, an additional Doppler frequency, and the user to which they belong so that the MSE in equation (21) is minimized. Because only a single TOA/Doppler frequency pair is added during an iteration of equation (21), R⁻¹ can be updated at each step by using the rank one inverse update formula, as is known in the art. By only adding a single user's TOA/Doppler frequency pair at each step, the algorithm can accommodate an embodiment of the invention where each user may have a different number of TOA's and Doppler frequencies. The following procedure may provide the near-ML multi-user TOA/Doppler frequency search, where [] is used to represent an empty matrix. First, let BK×1 G_(u,m) and BK×1 z_(u)(t,f) be: $\begin{matrix} {G_{u,m} = {{X_{u}^{H}Y_{m}\quad {and}\quad {z_{u}\left( {t,f} \right)}} = \begin{bmatrix} ^{- {j{({{0t} - {0f}})}}} \\ \vdots \\ ^{- {j{({{{({K - 1})}t} - {0f}})}}} \\ ^{- {j{({{0t} - f})}}} \\ \vdots \\ ^{- {j{({{{({K - 1})}t} - {{({B - 1})}f}})}}} \end{bmatrix}}} & (22) \\ \begin{matrix} {{{1.\quad E_{0}} = {\sum\limits_{m = 1}^{M}{Y_{m}}^{2}}},{l = 0},{R_{0} = {\lbrack\rbrack}},{r_{0} = {\lbrack\rbrack}},{F_{0} = {\lbrack\rbrack}},{H_{0} = {\lbrack\rbrack}},} \\ {{q_{0} = {\lbrack\rbrack}},{{{and}\quad d_{u}} = {{\alpha + {\sum\limits_{b = 0}^{B - 1}{\sum\limits_{l = 0}^{K - 1}{{{x_{u}\left( {k,b} \right)}}^{2}\quad {for}\quad u}}}} = 1}},\ldots \quad,{U.}} \end{matrix} & \quad \\ {{{{2.\quad l} = {l + 1}},{{\left( {l - 1} \right) \times 1r_{l}} = {F_{l - 1}^{H}X_{u_{l}}{z_{u_{l}}\left( {t_{l},f_{l}} \right)}}},{E_{l} = {E_{l - 1} - \frac{\sum\limits_{m = 1}^{M}{q_{l,m}^{H}q_{l,m}}}{d_{u_{l}} - {r_{l}^{H}R_{l - 1}^{- 1}r_{l}}}}}}{{{where}\quad \left( {l \times 1} \right)q_{l,m}} = {\begin{bmatrix} {{- H_{m,{l - 1}}^{H}}R_{l - 1}^{- 1}r_{l}} \\ {G_{u,m}^{H}{z_{u_{l}}\left( {t_{l},f_{l}} \right)}} \end{bmatrix} \cdot}}} & \quad \end{matrix}$

[0052] Perform a three dimensional search over t_(l), f_(l),and u_(l) (which user's TOA/Doppler frequency pair minimizes E_(l)) and find the t_(l), f_(l), and u_(l) to minimize E_(l) and then update: $\begin{matrix} {{{{\left( {l \times 1} \right)H_{m,l}} = \begin{bmatrix} H_{m,{l - 1}} \\ {{z_{u_{l}}^{H}\left( {t_{l},f_{e}} \right)}G_{u_{l},m}} \end{bmatrix}},{F_{l} = \left\lbrack F_{l - 1} \middle| {X_{u}{z_{u_{l}}\left( {t_{l},f_{l}} \right)}} \right\rbrack},{and}}\quad} \\ {R_{l}^{- 1} = {\begin{bmatrix} R_{l - 1}^{- 1} & 0 \\ 0^{T} & 0 \end{bmatrix} + {\frac{\begin{bmatrix} {{- R_{l - 1}^{- 1}}r_{l}} \\ 1 \end{bmatrix}\left\lbrack {{- r_{l}^{H}}R_{l - 1}^{- 1}1} \right\rbrack}{d_{u_{l}} - {r_{l}^{H}R_{l - 1}^{- 1}r_{l}}}.}}} \end{matrix}$

[0053] 3. If stop criteria as described below is not reached then go back to step 2.

[0054] 4. The total number of TOA's and Doppler frequencies P is l, the TOA's are t_(l) through t_(l), the Doppler frequencies are f₁ through f_(l), and the users associated with each TOA are u₁ through u_(l).

[0055] For another embodiment of step two, the search over TOA's, t_(l), may be performed over some finite set of times from t_(min) to t_(max) and the search over Doppler frequencies may also be performed over a finite set of frequencies from f_(min) to f_(max). Since there are a finite number of TOA's and Doppler frequencies to search over, r_(l) and G_(u,m) ^(H)z_(u) _(t) (t_(l),f_(l)) may be pre-computed.

[0056] One embodiment of the invention may provide for the stopping criteria to stop when the error at step l, E_(l), is close to the noise floor. That embodiment of course, requires an estimate of the noise power. Another embodiment of the invention may provide the stopping criteria to quit when the Peak to Average Power Ratio (PAPR) of the error update at step l versus all of the time of arrivals and Doppler frequencies being scanned is less than some predetermined value. The error update at iteration l may be expressed as $e_{l} = {\frac{\sum\limits_{m = 1}^{M}{q_{l,m}^{H}q_{l,m}}}{d_{u_{l}} - {r_{l}^{H}R_{l - 1}^{- 1}r_{l}}} \cdot}$

[0057] Dividing E_(l) by MBK, a value for σ_(n) ² may be obtained. Once the TOA's and Doppler frequencies are found, the channel gains, γ_(m), can be found using equation (18).

[0058] Common among the embodiments of channel estimation methods in accordance with the present invention, is that each method adapts (is adaptive) to the channel conditions, thereby using a smaller set of channel parameters than existing channel estimators. The channel conditions may include multi-path components, channel gains of multi-path components, time-taps, maximum delay spread, directions of arrivals, and/or additional channel attributes as are known in the art. The adaptivity of the invention may be in part or whole, a function of channel estimation iteration, channel estimation TOA, and/or least squares channel estimation. Each method of adaptivity described within the detailed description of the invention may provide an adapted channel estimate in place of the received channel estimate thereby improving performance in most channel conditions. One such embodiment refers again to FIG. 4, where the frequency-domain multi-user channel estimation method 400 can provide multi-user TOA and Doppler frequency near-ML estimations.

[0059] The channel estimation method 400 may be provided a noisy channel estimate for at least one user G_(u,m), and an update vector z_(u)(t,f), 410 and may be represented by the equation: $G_{u,m} = {{X_{u}^{H}Y_{m}\quad {and}\quad {z_{u}\left( {t,f} \right)}} = {\begin{bmatrix} ^{- {j{({{0t} - {0f}})}}} \\ \vdots \\ ^{- {j{({{{({K - 1})}t} - {0f}})}}} \\ ^{- {j{({{0t} - f})}}} \\ \vdots \\ ^{- {j{({{{({K - 1})}t} - {{({B - 1})}f}})}}} \end{bmatrix} \cdot}}$

[0060] The iteration variables may next be initialized that may include setting the iteration number l, to zero 420. The iteration variables and how they are initialized may be represented by the equations $\begin{matrix} {{E_{0} = {\sum\limits_{m = 1}^{M}\quad \left| Y_{m} \right|^{2}}},{ = 0},{R_{0} = {\lbrack\rbrack}},{r_{0} = {\lbrack\rbrack}},{F_{0} = {\lbrack\rbrack}},{H_{0} = {\lbrack\rbrack}},{q_{0} = {\lbrack\rbrack}},{and}} \\ {d_{u} = \left. {\alpha + {\sum\limits_{b = 0}^{B - 1}\quad \sum\limits_{ = 0}^{K - 1}}}\quad \middle| {x_{u}\left( {k,b} \right)} \right|^{2}} \end{matrix}$

[0061] for u=1, . . . , U, where [] indicates an empty matrix as is known in the art. After initialization, the iteration number may be incremented by one 430. The channel estimation method 400 may then calculate an error update at the incremented iteration for all TOA values, Doppler values, and users being scanned as a function of the iteration variables and the noisy channel estimates for at least one user 440. In one embodiment of the invention the TOA's t may be scanned from t_(min) to t_(max), the Doppler frequencies f may be scanned from f_(min) to f_(max), and the users, u, may be scanned from one to U. The error update at iteration l can be a function of TOA, Doppler frequency, and user and for this embodiment may be equated as $\begin{matrix} {{{e_{}\left( {t,f,u} \right)} = \frac{\sum\limits_{m = 1}^{M}\quad {q_{,m}^{H}q_{,m}}}{d_{u_{}} - {r_{}^{H}R_{ - 1}^{- 1}r_{}}}},{{{{where}\left( { - 1} \right)} \times 1r_{}} = {F_{ - 1}^{H}X_{u_{}}{z_{u_{}}\left( {t_{},f_{}} \right)}}},{and}} \\ {{\left( { \times 1} \right)q_{,m}} = {\begin{bmatrix} {{- H_{m,{ - 1}}^{H}}R_{ - 1}^{- 1}r_{}} \\ {G_{u,m}^{H}{z_{u_{}}\left( {t_{},f_{}} \right)}} \end{bmatrix}.}} \end{matrix}$

[0062] Determining which t, f, and u that can maximize the error update at iteration l can be performed with the determined values labeled t_(l), f_(l), and u_(l) respectively 450. The error at step l, E_(l), may be updated to equate E_(l)=E_(l−1)−e_(l)(t_(l), f_(l), u_(l)). Next, the following iteration variables may be updated 460: $\begin{matrix} {{{\left( { \times 1} \right)H_{m,}} = \begin{bmatrix} H_{m,{ - 1}} \\ {{z_{u_{}}^{H}\left( {t_{},f_{}} \right)}G_{u_{},m}} \end{bmatrix}},{F_{} = \left\lbrack F_{ - 1} \middle| {X_{u}{z_{u_{}}\left( {t_{},f_{}} \right)}} \right\rbrack},{and}} \\ {R_{}^{- 1} = {\begin{bmatrix} R_{ - 1}^{- 1} & 0 \\ 0^{T} & 0 \end{bmatrix} + {\frac{\begin{bmatrix} {{- R_{ - 1}^{- 1}}r_{}} \\ 1 \end{bmatrix}\left\lbrack {{- r_{}^{H}}R_{ - 1}^{- 1}1} \right\rbrack}{d_{u_{}} - {r_{}^{H}R_{ - 1}^{- 1}r_{}}}.}}} \end{matrix}$

[0063] If the appropriate stopping criteria have been reached 470, the channel estimation method 400 may be terminated 480. If the appropriate stopping criteria have not been reached 470, then the channel estimation method 400 may proceed to block 430.

[0064] In another embodiment of FIG. 4, directions of arrivals can be scanned in a similar manner as the TOAs and the Doppler frequencies. Anyone skilled in the art can modify the channel estimator of FIG. 4 to scan for direction of arrivals in a near-ML sense.

[0065] Another embodiment of the invention illustrating an adaptive channel estimator is FIG. 5, where a TOA with a phase shift training channel estimation method 500 may provide channel estimation by shifting multiple user channels to non-overlapped time regions. Given that a first user's pilots are p₁(k), then a subsequent users' pilots (say the n^(th)) may be determined as:

p _(n)(k)=p ₁(k)e ^(−j2πk(n−1)L) ^(_(s)) ^(/K)  (23)

[0066] where L_(s) may represent the maximum length in number of time samples of all users' channel responses. The phase shift training channel estimation method 500 may begin by being provided a noisy channel estimate and a time separation value 510. The time separation value L_(s) may be at least as long as the expected delay in sample times. The noisy channel estimate may be equated as H_(n)(k)=Y(k)/p₁(k). The TOA's may be estimated next 520 from the noisy channel estimate using any existing TOA estimator known in the art. The use of the training in (23) may turn the multi-user TOA estimation problem stated previously in equation (6) to a single-user equivalent problem where a user u's TOA's can be from (u−1)L_(s)ΔN/K to uL_(s)ΔN/K, and Δ may be the time between OFDM time-domain samples. The complexity is similar to the multi-user embodiment of FIG. 4 because the number of TOA's that need to be searched at each iteration using the phase shift training may be the same as before. Thus, the final step of the phase shift training channel estimation method 500 may be to separate the TOA's for each user given what time band they are in 530. For one embodiment of the invention, user u's TOAs are from (u−1)L_(s)ΔN/K to uL_(s)ΔN/K. The phase shift training can enable the use of ESPRIT as a multi-user TOA estimator because the phase shift training problem can turn the multi-user TOA search into a single-user equivalent.

[0067] In another embodiment of the invention, a gradient search may be performed to improve the TOA estimates from any existing TOA estimator. This embodiment may provide that for a single user, the TOA estimation can be expressed as follows if the number of TOA's, P, is known: $\begin{matrix} \left. {\begin{matrix} \min \\ {t_{},\gamma_{}} \end{matrix}\sum\limits_{k = 0}^{K - 1}} \middle| {{\sum\limits_{ = 1}^{P}\quad {\gamma_{}^{{- j}\quad k\quad t_{t}}}} - {H_{n}(k)}} \right|^{2} & {(24)\quad} \end{matrix}$

[0068] where the (M×1) noisy channel estimate H_(n)(k) is H_(n)(k)=Y(k)/x(k) and γ_(l) is a M×1 matrix of channel gains for the l^(th) TOA. A gradient of equation (24) with respect to t_(l) can be shown to be: $\begin{matrix} {{\nabla t_{}} = {{\sum\limits_{k = 0}^{K - 1}{I\quad m\left\{ {k\quad ^{\quad k\quad t_{}}\gamma_{}^{H}{H_{n}(k)}} \right\}}} - {\sum\limits_{k = 0}^{K - 1}{I\quad m{\left\{ {\sum\limits_{\underset{p \neq }{p = 1}}^{P}\quad {\gamma_{}^{H}\gamma_{p}k\quad ^{{- j}\quad {k{({t_{p} - t_{}})}}}}} \right\} \cdot}}}}} & (25) \end{matrix}$

[0069] Given the P TOA's, the gains (P×M)γ=[γ₁, . . . , γ_(p)]^(T) may be found as $\begin{matrix} \begin{matrix} {{\gamma = {{R^{- 1}p\quad {where}\quad R} = {\sum\limits_{k = 0}^{K - 1}{{f(k)}{f^{H}(k)}}}}},} \\ {{p = {\sum\limits_{k = 0}^{K - 1}{{f(k)}{H^{T}(k)}}}},{{{and}\quad {f(k)}} = {\begin{bmatrix} ^{{jkt}_{1}} \\ \vdots \\ ^{{jkt}_{p}} \end{bmatrix} \cdot}}} \end{matrix} & (26) \end{matrix}$

[0070] Consequently, one embodiment of the invention may provide a gradient-based search for the TOA's as follows:

[0071] 1. Start with PTOA's from an existing algorithm (e.g., ESPRIT or the near-ML TOA algorithm).

[0072] 2. Determine γ from equation (26).

[0073] 3. Calculate ∇t_(l) for l=1, . . . , P from equation (25), for l=1, . . . , P, t_(l)=t_(l −α∇t) _(l) where α is the step size.

[0074] 4. If the stopping criteria are not reached, such as a maximum number of iterations, then go to step 2.

[0075]FIG. 6 illustrates another embodiment of the invention using the gradient-based search for TOA's. The gradient TOA channel estimation method 600 may be provided a number, P, TOA estimates t_(l) for l=1 . . . P, and a step size α 610. A noisy channel estimate may be determined as the equation H_(n)(k)=Y(k)/x(k). The TOA gradient for each TOA estimate may next be calculated as a function of the TOA estimates and the noise channel estimate 620. The TOA gradient for the l^(th) TOA, t_(l), can be shown as the equation ${{\nabla t_{}} = {{\sum\limits_{k = 0}^{K - 1}{I\quad m\left\{ {k\quad ^{- {jkt}_{}}\gamma_{}^{H}{H_{n}(k)}} \right\}}} - {\sum\limits_{k = 0}^{K - 1}{I\quad m\left\{ {\sum\limits_{\underset{p \neq }{p = 1}}^{P}{\gamma_{}^{H}\gamma_{p}k\quad ^{{- j}\quad {k{({t_{p} - t_{}})}}}}} \right\}}}}},$

[0076] where (P×M)γ=[γ₁, . . . , γ_(P)]^(T), and γ=R⁻¹p where $\begin{matrix} \begin{matrix} {{R = {\sum\limits_{k = 0}^{K - 1}{{f(k)}{f^{H}(k)}}}},} \\ {{p = {\sum\limits_{k = 0}^{K - 1}{{f(k)}{H^{T}(k)}}}},{{{and}\quad {f(k)}} = {\begin{bmatrix} ^{{jkt}_{1}} \\ \vdots \\ ^{{jkt}_{p}} \end{bmatrix} \cdot}}} \end{matrix} & \quad \end{matrix}$

[0077] The TOA's can be updated for l=1 . . . P using t_(l)=t_(l)−α∇t_(l) where α is the step size 630. If a stopping criterion is not reached 640 such as a maximum number of iterations is not reached, the iterations may continue from block 620, otherwise the algorithm may terminate 650. The gradient search may not be the preferred method to determine TOA's, but for one embodiment of the invention, the gradient search may refine estimates that are reasonably close. This is due to the objective function having many local minimums and that the gradient search does not provide a good procedure for determining P and the initial TOA's.

[0078] As is illustrated in FIG. 7, another adaptive channel estimation embodiment of the invention can include an improved least squares channel estimation method 700. Assuming that there is only a single user, the least squares (LS) channel estimator can parameterize a frequency-domain channel as the weighted sum of L time taps, or equivalently the N-point DFT of an L-tap time-domain channel as follows: $\begin{matrix} {{H(k)} = {\sum\limits_{ = 0}^{L - 1}{{h()}^{{- {j2\pi k}}/N}}}} & (27) \end{matrix}$

[0079] where N is the DFT size of the LS estimator (in OFDM, N≧K). The LS estimator for receive antenna m can be put in a matrix form as represented by the equation: $\begin{matrix} {h_{m} = {\begin{bmatrix} {h_{m}(0)} \\ \vdots \\ {h_{m}\left( {L - 1} \right)} \end{bmatrix} = {Q\quad Y_{m}}}} & (28) \end{matrix}$

[0080] where Q is L×K matrix that may provide a LS time-tap channel estimate as is known in the art, and Y_(m) is defined in the previous equation (4) with U=1.

[0081] In sparse channels the LS estimator can be improved by not estimating gains for taps below a certain power level, thus improving the pilot-to-parameter ratio. In this embodiment of the invention, criteria may determine which taps are not estimated. Assuming that only white noise is present, the noise floor of the LS estimator can be represented by the equation:

σ_(h)=σ_(n) Qd  (29)

[0082] where d is an K×1 vector of all ones.

[0083] The criteria within one embodiment of the invention for the removal of taps may be to remove all taps with power below 10log₁₀(σ_(h) ^(H)σ_(h))+5 dB. Once the taps are removed, the gains can be found using a LS procedure similar to D equation (7). Using the described process, the least squares channel estimation method 700 may begin by being provided a time-domain channel estimate for at least one user and a threshold value T710. In one embodiment of the invention, the threshold value may be represented by the equation T=10log₁₀(σ_(h) ^(H)σ_(h))+5 dB, where σ_(h)=σ_(n)Qd, d is a K×1 vector of all ones, σ_(n) ² is the noise power, and Q is a matrix that is known in the art which can provide a LS time-tap channel estimate. The time-domain channel estimate may be provided from any existing channel estimator. In the Least Squares (LS) embodiment, the time-domain channel estimate on receive antenna m may be given as: ${h_{m} = {\begin{bmatrix} {h_{m}(0)} \\ \vdots \\ {h_{m}\left( {L - 1} \right)} \end{bmatrix} = {QY}_{m}}},$

[0084] where ${\left( {K \times 1} \right)Y_{m}} = {\begin{bmatrix} {Y_{m}(0)} \\ \vdots \\ {Y_{m}\left( {K - 1} \right)} \end{bmatrix} = {{\sum\limits_{u = 1}^{U}\quad {X_{u}F_{u}\gamma_{m,u}}} + {N_{m}.}}}$

[0085] Any time-domain channel taps whose magnitude is below the threshold value T, may be discarded by the invention in order to determine the dominant time-taps (time-taps values with power above the threshold value) 720. In one embodiment of the invention, the dominant time-taps may be the P time-taps labeled l₁ through l_(P), and may represent l for which |h_(m)(l)|²>T. With the dominant time-taps determined, the least squares channel estimation method 700 may re-estimate the channel for at least one user, only at the dominant time-tap (tap) values 730. For the previously described embodiment, the dominant tap values can be l₁ through l_(P), whose gains (channel estimations) may be found using a LS procedure similar to equation (7), thus terminating 740 the least squares channel estimation method 700

[0086] The above-described methods and implementation of adaptive channel estimation are example methods and implementations. These methods and implementations illustrate but one possible approach for adaptive channel estimation. The actual implementation may vary from the method discussed. Moreover, various other improvements and modifications to this invention may occur to those skilled in the art, and those improvements and modifications will fall within the scope of this invention as set forth below.

[0087] The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. 

We claim:
 1. A method for adaptive channel estimation comprising: providing a channel estimate; determining an at least one channel condition; and determining an adapted channel estimate as a function of the channel estimate and the channel condition.
 2. The method of claim 1 wherein the channel estimate is a function of the equation $G_{u,m} = {{X_{u}^{H}Y_{m}\quad {and}\quad {z_{u}\left( {t,f} \right)}} = {\begin{bmatrix} ^{- {j{({{0t} - {0f}})}}} \\ \vdots \\ ^{- {j{({{{({K - 1})}t} - {0f}})}}} \\ ^{- {j{({{0t} - f})}}} \\ \vdots \\ ^{- {j{({{{({K - 1})}t} - {{({B - 1})}f}})}}} \end{bmatrix}.}}$


3. The method of claim 1 wherein the channel estimate is a function of the equation H_(n)(k)=Y(k)/p₁(k).
 4. The method of claim 1 wherein the channel condition is selected from the group comprising multi-path component, direction of arrival, dominant time-taps, time of arrival, and Doppler frequencies.
 5. The method of claim 1 wherein the adapted channel estimate is a function of the equation: ${\min\limits_{t_{l},f_{l},P_{u},\gamma_{m,u}}{\sum\limits_{m = 1}^{M}{{Y_{m} - {\sum\limits_{u = 1}^{U}{X_{u}F_{u}\gamma_{m,u}}}}}^{2}}} + {\alpha \quad {\sum\limits_{m = 1}^{M}{\sum\limits_{u = 1}^{U}{\gamma_{m,u}^{H}{\gamma_{m,u}.}}}}}$


6. The method of claim 1 wherein the channel condition includes a time separation value.
 7. The method of claim 1 wherein the adapted channel estimate is a function of the equation: p _(n)(k)=p ₁(k)e ^(−j2πk(n−1)L) _(^(s)) ^(/K).
 8. The method of claim 1 wherein the channel condition includes a TOA estimate.
 9. The method of claim 1 wherein the adapted channel estimate is a function of the equation: ${\nabla t_{l}} = {{\sum\limits_{k = 0}^{K - 1}{{Im}\left\{ {k\quad ^{j\quad {kt}_{l}}\gamma_{l}^{H}{H_{n}(k)}} \right\}}} - {\sum\limits_{k = 0}^{K - 1}{{Im}\quad {\left\{ {\sum\limits_{\underset{p \neq l}{p = 1}}^{P}{\gamma_{l}^{H}\gamma_{p}k\quad ^{{- j}\quad {k{({t_{p} - t_{l}})}}}}} \right\}.}}}}$


10. The method of claim 1 wherein the channel condition includes a time domain channel estimate.
 11. The method of claim 1 wherein the adapted channel estimate is a function of the equation: σ_(h)=σ_(n) Qd.
 12. The method of claim 1 further comprising: replacing the channel estimate with the adapted channel estimate.
 13. The method of claim 1 further comprising: initializing at least one iteration variable; calculating an error update as a function of the iteration variable; and determining the adapted channel estimate as a function of the error update.
 14. The method of claim 1 further comprising: estimating a plurality of TOA values; separating the TOA values as a function of a time separation value; and determining the adapted channel estimate as a function of the separated TOA values.
 15. The method of claim 1 further comprising: estimating a plurality of TOA values; calculating a TOA gradient as a function of the TOA values; and determining the adapted channel estimate as a function of the calculated TOA gradient.
 16. The method of claim 1 further comprising: providing a threshold value; determining a dominant tap value as a function of the threshold value; and determining the adapted channel estimate as a function of the dominant tap value.
 17. A system for adaptive channel estimation comprising: means for providing a channel estimate; means for determining an at least one channel condition; and means for determining an adapted channel estimate as a function of the channel estimate and the channel condition.
 18. The system of claim 17 further comprising means for replacing the channel estimate with the adapted channel estimate.
 19. The system of claim 17 further comprising: means for initializing at least one iteration variable; means for calculating an error update as a function of the iteration variable; and means for determining the adapted channel estimate as a function of the error update.
 20. The system of claim 17 further comprising: means for estimating a plurality of TOA values; means for separating the TOA values as a function of a time separation value; and means for determining the adapted channel estimate as a function of the separated TOA values.
 21. The system of claim 17 further comprising: means for estimating a plurality of TOA values; means for calculating a TOA gradient as a function of the TOA values; and means for determining the adapted channel estimate as a function of the calculated TOA gradient.
 22. The system of claim 17 further comprising: means for providing a threshold value; means for determining a dominant tap value as a function of the threshold value; and means for determining the adapted channel estimate as a function of the dominant tap value.
 23. A computer readable medium storing a computer program comprising: computer readable code for providing a channel estimate; computer readable code for determining an at least one channel condition; and computer readable code for determining an adapted channel estimate as a function of the channel estimate and the channel condition.
 24. The computer readable medium of claim 23 further comprising computer readable code for replacing the channel estimate with the adapted channel estimate.
 25. The computer readable medium of claim 23 further comprising: computer readable code for initializing at least one iteration variable; computer readable code for calculating an error update as a function of the iteration variable; and computer readable code for determining the adapted channel estimate as a function of the error update.
 26. The computer readable medium of claim 23 further comprising: computer readable code for estimating a plurality of TOA values; computer readable code for separating the TOA values as a function of a time separation value; and computer readable code for determining the adapted channel estimate as a function of the separated TOA values.
 27. The computer readable medium of claim 23 further comprising: computer readable code for estimating a plurality of TOA values; computer readable code for calculating a TOA gradient as a function of the TOA values; and computer readable code for determining the adapted channel estimate as a function of the calculated TOA gradient.
 28. The computer readable medium of claim 23 further comprising: computer readable code for providing a threshold value; computer readable code for determining a dominant tap value as a function of the threshold value; and computer readable code for determining the adapted channel estimate as a function of the dominant tap value. 